home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source1.lha / source / amiga / KeyMapLib.mod < prev   
Encoding:
Text File  |  1995-01-26  |  2.0 KB  |  82 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: KeyMapLib.mod $
  4.   Description: Keymap library definitions
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   $VER: keymap_protos.h 36.4 (19.7.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  24. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  25. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  26.  
  27. MODULE [2] KeyMapLib;
  28.  
  29. IMPORT SYS := SYSTEM, Kernel, e := Exec, ie := InputEvent, km := KeyMap;
  30.  
  31. (*-- KeyMap Base variable --------------------------------------------*)
  32.  
  33. CONST
  34.  
  35.   keyMapName * = "keymap.library";
  36.  
  37. VAR
  38.  
  39.   base * : e.LibraryPtr;
  40.  
  41.  
  42. (*-- Library Functions ------------------------------------------------*)
  43.  
  44. (*--- functions in V36 or higher (Release 2.0) ---*)
  45.  
  46. PROCEDURE SetKeyMapDefault* [base,-30]
  47.   ( keyMap [8] : km.KeyMapPtr );
  48.  
  49. PROCEDURE AskKeyMapDefault* [base,-36] ()
  50.   : km.KeyMapPtr;
  51.  
  52. PROCEDURE MapRawKey* [base,-42]
  53.   ( event      [8] : ie.InputEventDummyPtr;
  54.     VAR buffer [9] : ARRAY OF CHAR;
  55.     length     [1] : LONGINT;
  56.     keyMap    [10] : km.KeyMapPtr )
  57.   : INTEGER;
  58.  
  59. PROCEDURE MapANSI* [base,-48]
  60.   ( string     [8] : ARRAY OF CHAR;
  61.     count      [0] : LONGINT;
  62.     VAR buffer [9] : ARRAY OF CHAR;
  63.     length     [1] : LONGINT;
  64.     keyMap    [10] : km.KeyMapPtr )
  65.   : LONGINT;
  66.  
  67. (*-- Library Base variable --------------------------------------------*)
  68.  
  69. <*$LongVars-*>
  70.  
  71. (*-----------------------------------*)
  72. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  73.  
  74. BEGIN (* CloseLib *)
  75.   IF base # NIL THEN e.CloseLibrary (base) END
  76. END CloseLib;
  77.  
  78. BEGIN
  79.   base := e.OpenLibrary (keyMapName, e.libraryMinimum);
  80.   IF base # NIL THEN Kernel.SetCleanup (CloseLib) END
  81. END KeyMapLib.
  82.